為什麼要寫 python 呢?因為身邊會 python 的人真的很多,非資工本科系的人學的程式語言也都是先學 python,大家都說 python 真的很簡單,很好學.而且在 AI 或 ML 的領域裡,python 似乎是首選.於是決定來認識一下簡單的 python.
編譯式語言會需要編譯器幫忙把程式碼編譯成機器讀得懂的機器碼,然後再使用機器碼去執行.所以在編譯的時候就可以先對程式碼檢查是否有一些型別上的錯誤,否則會編譯失敗.由於編譯式語言事先已經先把程式編譯好,所以在效能上會比直譯式語言快.
例如 java 要先透過 javac 將 java 檔 compile 成 class 檔,然後再透過 java 指令執行 class 檔,jvm 會把 class 檔轉成當前環境的機器讀得懂的機器碼去執行,所以 java 可以跨平台.
直譯式語言不需要事先編譯,是透過直譯器執行,執行時一行一行的動態將程式碼直譯成機器碼並且執行。
但缺點就是無法事先知道程式碼哪邊有寫錯,在執行時候才會知道哪邊寫錯.
而且由於沒有事先編譯,直譯式語言的效能會比編譯式語言差一點.python 是屬於直譯式語言.
python 既然是直譯式語言效能偏差,為什麼還是大數據的分析利器,而且 AI、ML、Deep Learning 首選也都是 python.主要有兩大因素
但面對非常大量的資料下,效能似乎是 python 的缺點,要透過其他框架來處理.
使用 Mac 下載 python 3.7.4 安裝完會在下面路徑
> ~/python3 > ll /Library/Frameworks/Python.framework/Versions
total 0
drwxrwxr-x 10 root admin 320B Sep 28 2017 2.7
drwxrwxr-x 10 root admin 320B Jul 26 11:13 3.7
lrwxr-xr-x 1 root wheel 3B Sep 28 2017 Current -> 2.7
使用 python2.7 時是用 python 指令,3.7 是使用 python3
> python --version
Python 2.7.13
> python3 --version
Python 3.7.4
直接下 python3 會啟動一個互動式的直譯器,可以用 cli 介面輸入 python 語法做測試
> python3
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 2
3
>>>
接著建立一個 hello.py
,內容只要寫上
print("Hello World")
直接執行就可以印出 Hello World,不用像 java 還要先了解很多 key words 還要再 compile 成 class 檔才可以印出 Hello World .
> python3 hello.py
Hello World
在 cli 裡也有一些 function 可以直接使用
>>> sum([1,2,3,4,5])
15